home *** CD-ROM | disk | FTP | other *** search
/ Gekikoh Dennoh Club 2 / Gekikoh Dennoh Club Vol. 2 (Japan).7z / Gekikoh Dennoh Club Vol. 2 (Japan) (Track 01).bin / games / mashou / plugin / wave.c < prev    next >
Text File  |  1997-10-07  |  1KB  |  58 lines

  1. /*        画面を揺らすプログラム
  2.     wave.x nn
  3.     nn:1~5 1:2dot 2:4dot 3:8dot 4:16dot 5:32dot 左右に揺らす。
  4.     (画面外の部分の書換ができないので、端の方で使うと、
  5.     変になるので注意。)
  6.                 by SJOM
  7. */
  8.  
  9. #include <stdlib.h>
  10. #include <sys/iocs.h>
  11.  
  12. static int *bgx0,*bgy0,*bgx1,*bgy1;
  13.  
  14. int
  15. main(int argc,char **argv)
  16. {
  17.     int i=0,dir=1,x=0,y=0,wave=2,wave2=1;
  18.     char asc;
  19.     if (argc==1)
  20.         exit(-1);
  21.     argv++;
  22.     asc=**argv-'0';
  23.     if ((asc<=0) | (asc>5))
  24.         exit(-1);
  25.     wave=1<<asc;
  26.     wave2=wave>>1;
  27.     if ((bgx0=malloc(4*sizeof(int)))==0)
  28.         exit(-1);
  29.     bgx1=bgx0+1;
  30.     bgy0=bgx0+2;
  31.     bgy1=bgx0+3;
  32.     if (_iocs_bgscrlgt(0,bgx0,bgy0)!=0)
  33.         exit(-1);
  34.     if (_iocs_bgscrlgt(1,bgx1,bgy1)!=0)
  35.         exit(-1);
  36.     x=*bgx0;
  37.     y=*bgy0;
  38.     for (i=0;i<wave2;i++) {
  39.         x=(x-1) & 1023;
  40.         _iocs_bgscrlst(0,x,y);
  41.         _iocs_bgscrlst(0x80000001,x,y);
  42.     }
  43.     for (i=0;i<(128+wave2);i++) {        /* test */
  44.         if ((i & wave)!=0) {
  45.             dir=-1;
  46.         } else {
  47.             dir=1;
  48.         };
  49.         x=(x+dir) & 1023;
  50.         _iocs_bgscrlst(0,x,y);
  51.         _iocs_bgscrlst(0x80000001,x,y);
  52.     };
  53.         _iocs_bgscrlst(0,*bgx0,*bgy0);
  54.         _iocs_bgscrlst(0x80000001,*bgx1,*bgy1);
  55.     exit(0);
  56. }
  57.  
  58.